package hc.bre.clas.range

import hc.bre.clas.ClasBuilder

@groovy.transform.CompileStatic
class RangeBuilder extends ClasBuilder<RangeDefinition> {


	//	@Override
	//	public void buildClassRuleBodyCore() {
	//		List<RangeOption> list = ruleDef.list.sort { a,b-> a.otherflag - b.otherflag };
	//
	//		apdNl("switch(${variable()}){")
	//
	//		nested{
	//			RangeOption opt;
	//
	//			for(int i = 0 ; i < list.size() - 1; i ++) {
	//				opt = list[i];
	//				apdNl("case ${opt.range} :")
	//						.indentInc()
	//						.apdNl("${result}.clas = ${referRuleClass()}.${opt.code};")
	//						.apdNl("break;")
	//						.indentDec();
	//			};
	//
	//			opt = list[list.size()-1];
	//			apdNl("default :")
	//					.indentInc()
	//					.apdNl("${result}.clas = ${referRuleClass()}.${opt.code};")
	//					.apdNl("break;")
	//					.indentDec();
	//		}
	//
	//		apdNl("};")
	//	}

	
	@Override
	public String rangeVariable() {
		ruleDef.variableId? ruleOfVariable.accessRouteOf(ruleDef.variableId):"null";
	}
}
